A Process to Calculate the Uncertainty of Software Metrics-based Models Using Bayesian Networks
نویسندگان
چکیده
ion sheets Step 2 Figure 1. Process overview. application domain and development process) from the domain experts. For instance, semi-structured interviews with project leaders might be performed. With the context defined, the next step is to apply the GQM process with the goal of capturing the experience of the viewpoints and selecting the software metrics. For this purpose, abstraction sheets must be used as knowledge acquisition instrument during interviews [3]. A set of goals is defined as G = {g1, . . . , g|G|}, where gi represents a project goal. For each goal, an abstraction sheet, which is composed of four quadrants, must be used. A set of questions, Q, and metrics, M , must be extracted from the first quadrant, which corresponds to the quality focus. qi ∈ Q and mi ∈M represent, respectively, a question and a metric related to a project goal. The second quadrant corresponds to the variation factors, which are factors that impact the quality focus, considering the defined goal. More questions q and metrics m can be extracted from this quadrant. The third quadrant corresponds to the possible values of the extracted metrics from the first quadrant. These values are important because they demonstrate the usefulness of the measurement process. By analyzing them, we can detect discrepancies between expectations and realities. Finally, the last quadrant of the abstraction sheet corresponds to the impact of the variation factors on the extracted metrics from the first quadrant. The description of this impact serves as motivation for the inclusion of the variation factor in the abstraction sheet. If the project leader does not know how to inform the impact of a variation factor, this factor should be excluded from the sheet. Given that each question must be associated with at least one goal, a set of relationships between goals and questions, T , should be created. t(g, q) means the goal g and question q are related. An hierarchical structure example of the GQM model is illustrated in Figure 2. For the example shown in Figure 2, the given goal is to “Analyze the software product with respect to its quality for the purpose of characterization from the developer’s point of view”. For quality focus, the question “How many unwanted behaviors does the product have?” was defined. For the variation factor, the question “What is the quality of the test?” was defined. An example of an abstraction sheet is illustrated in Figure 3. By analyzing first quadrant of the abstraction sheet presented in Figure 3, it is possible to identify metrics such as number of detected failures, proportion of critical/uncritical failures and number of detected faults. Given that the goal, questions and metrics for the quality of focus are defined, the Bayesian network can be built. For our approach, all node should be modelled as ranked. If a metric is collected using a numerical scale, thresholds must be defined to convert it into an ordinal scale. For this purpose, statistics-based approach [17] can be used or data must be collected from domain experts. After the construction of the directed acyclic graph, the NPT of the goal node must be defined. Assuming that the goal was modeled as a ranked node, we can create a truth table to collect data from a domain expert and define the NPT. For the given example, given that there is a one-to-one relationship between g and q, the truth table is not necessary and the NPT must be calibrated as an identity matrix, in which the diagonal elements are 1 and the remaining are 0. 3.2 Software Metrics Validation The validation of the metrics ensures that they are representative of the measured attributes. In the literature, there are many researches on the validation of software metrics [16, 12, 14]. Meneely et al. [14] performed a systematic review about validation criteria for software metrics and identified 47 criteria. In Table 1, we present ten criteria identified by Meneely et al. [14]. A priori validity Monotonicity Actionability Metric Reliability Appropriate Continuity Non-collinearity Appropriate Granularity Non-exploitability Association Non-uniformity Table 1. List of 10 validation criteria found in the review [14]. Defining the purpose of using a metric is a critical step to validate it. In addition, when the project leader makes a decision, he can specify properties of the metrics that are most appropriate to use. According to Meneely et al. [14] this is called advantage. For instance, be able to show that a metric is a significant representation and that it can be applied to a development process are considered advantages. Analyze the software product with respect to its quality for the purpose of characterization from the developer's
منابع مشابه
A Surface Water Evaporation Estimation Model Using Bayesian Belief Networks with an Application to the Persian Gulf
Evaporation phenomena is a effective climate component on water resources management and has special importance in agriculture. In this paper, Bayesian belief networks (BBNs) as a non-linear modeling technique provide an evaporation estimation method under uncertainty. As a case study, we estimated the surface water evaporation of the Persian Gulf and worked with a dataset of observations ...
متن کاملA Surface Water Evaporation Estimation Model Using Bayesian Belief Networks with an Application to the Persian Gulf
Evaporation phenomena is a effective climate component on water resources management and has special importance in agriculture. In this paper, Bayesian belief networks (BBNs) as a non-linear modeling technique provide an evaporation estimation method under uncertainty. As a case study, we estimated the surface water evaporation of the Persian Gulf and worked with a dataset of observations ...
متن کاملRule-based joint fuzzy and probabilistic networks
One of the important challenges in Graphical models is the problem of dealing with the uncertainties in the problem. Among graphical networks, fuzzy cognitive map is only capable of modeling fuzzy uncertainty and the Bayesian network is only capable of modeling probabilistic uncertainty. In many real issues, we are faced with both fuzzy and probabilistic uncertainties. In these cases, the propo...
متن کاملConstruction cost estimation of spherical storage tanks: artificial neural networks and hybrid regression—GA algorithms
One of the most important processes in the early stages of construction projects is to estimate the cost involved. This process involves a wide range of uncertainties, which make it a challenging task. Because of unknown issues, using the experience of the experts or looking for similar cases are the conventional methods to deal with cost estimation. The current study presents data-driven metho...
متن کاملBayesian Analysis of Spatial Probit Models in Wheat Waste Management Adoption
The purpose of this study was to identify factors influencing the adoption of wheat waste management by wheat farmers. The method used in this study using the spatial Probit models and Bayesian model was used to estimate the model. MATLAB software was used in this study. The data of 220 wheat farmers in Khouzestan Province based on random sampling were collected in winter 2016. To calculate Bay...
متن کاملLoad-Frequency Control: a GA based Bayesian Networks Multi-agent System
Bayesian Networks (BN) provides a robust probabilistic method of reasoning under uncertainty. They have been successfully applied in a variety of real-world tasks but they have received little attention in the area of load-frequency control (LFC). In practice, LFC systems use proportional-integral controllers. However since these controllers are designed using a linear model, the nonlinearities...
متن کامل